<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
				强制类型转换
					-指将一个数据类型强制转换为其他的数据类型
					-主要是指String Number Boolean
			*/
		   /*
				将其他的类型转化为String
				方法一：
					-调用被转换数据类型的toString()方法
					-该方法不会改变原变量，他的值会返回
					-但是unll和undefined没有toString方法
				方法二：
					-调用String（）函数，并将数据函数作为参数传递给函数
					-使用String（）函数进行强制类型转换时，
						对于Number和Boolean实际上就是调用了toString（）方法
						但是对于null和undefined，就不会调用tostring（）方法
							他会将null直接转化为“null”
		   */
		//   var a = 123;
		//   var b = true;
		//   alert(typeof a);
		//   alert(typeof b);
		
		  //调用XXX的YYY方法的写法时xxx.yyy
		  // a = a.toString();
		  // b = b.toString();
		  // alert(typeof a);
		  // alert(typeof b);
		  // alert(a);
		  // alert(b);
		  // var a = null ;
		  // a = String(a);
		  // alert(typeof a);
			/*
				将其他类型转化为Number
				方法一：
					-使用Number（）函数
						字符串转换数值
							1.如果时纯字符串数字，则直转换为数字
							2.如果字符串中有非数字内容，则转换为NaN
							3.如果字符串是一个空串或者都是空格那么就会转换成0
						布尔值转换数字
							1.true转换成1
							2.false转换成0
						Null转换数字
							转换成0
						undefined转换数字
							转换成NaN
				方法二：
					-专门对于字符串
					-parseInt()把字符串转化为一个整数
					-parseFloat()把字符串转化为一个浮点数
				对于其他进制数字
				如果需要十六进制的数字则需要0x开头
				         八进制的数字则需要0开头
						 二进制数字则需要0b开头（不是所有的浏览器支持）
				比如a = 0xff;
					a = 077;
					a = 0b11;
					-像“070”这种字符串在浏览器中有可能会当成八进制又可能当成十进制
						解决办法parseInt(a,10)
			*/
		   // var b = "123";
		   // b = Number(b);
		   // alert(b);
		   // alert(typeof b)
			// var b = "123px";
			// b = parseInt(b);
			//调用parseInt()函数时会将字符串中有效的整数内容取出来，然后转换成Number；
			//对于非String类型使用parseInt（）方法时会先将他转换成sring然后在操作
			// b = b + 10;
			// alert(b);，
			/*
				转换布尔值
				-方法Boolean函数
				number除了0和NaN之外都是true
				string除了空串之外都是true，
				null和nudefined转换成false，
			*/
		   var a = 1234;
		   a = Boolean(a);
		   alert(a);
		</script>
	</head>
	<body>
	</body>
</html>
